package com.ruoyi.wms.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 库存盘点对象 wms_inventory
 *
 * @author ruoyi
 * @date 2025-10-24
 */
@Data
@ToString
@ApiModel(value = "库存盘点对象", description = "库存盘点对象")
public class StockInventory  {
    private static final long serialVersionUID = 1L;
    /** 主键ID */
    private String id;

    /** 盘点批次号 */
    @ApiModelProperty(value = "盘点批次号")
    private String batchNum;

    /** 盘点任务名 */
    @ApiModelProperty(value = "盘点任务名")
    private String inventoryName;

    /** 盘点方式：1-明盘 2-盲盘 3-循环盘点 4-定期盘点 */
    @ApiModelProperty(value = "盘点方式：1-明盘 2-盲盘 3-循环盘点 4-定期盘点")
    private Integer inventoryMethod;

    /** 盘点员 */
    @ApiModelProperty(value = "盘点员")
    private String inventoryPerson;

    /** 状态：1-待开始 2-进行中 3-已完成 4-已取消 5-异常 */
    @ApiModelProperty(value = "状态：1-待开始 2-进行中 3-已完成 4-已取消 5-异常")
    private Integer status;

    /** 完成盘点时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "完成盘点时间yyyy-MM-dd")
    private Date completionTime;

    /** 批次创建人 */
    @ApiModelProperty(value = "批次创建人")
    private String createdBy;

    /** 录入人 */
    @ApiModelProperty(value = "录入人")
    private String createUser;

    /** 录入日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "录入日期yyyy-MM-dd")
    private String createDate;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "修改时间yyyy-MM-dd")
    private String updateDate;

    /** 数据来源 */
    @ApiModelProperty(value = "数据来源")
    private String dataSource;

    /** 产品类别 */
    @ApiModelProperty(value = "产品类别")
    private String productCategory;

    /** 任务下发人 */
    @ApiModelProperty(value = "任务下发人")
    private String taskIssuer;

    /** 任务下发时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "任务下发时间", example = "2020-01-01", dataType = "string")
    private String taskIssueTime;

    /** 涉及库位数量 */
    @ApiModelProperty(value = "涉及库位数量")
    private String areaCount;

    /** 预计完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "预计完成时间")
    private String expectCompletionTime;

    /** 产品编码 */
    @ApiModelProperty(value = "产品编码")
    private String productCode;

    /** 库存数量 */
    @ApiModelProperty(value = "库存数量")
    private String stockCount;

    /** 库存重量 */
    @ApiModelProperty(value = "库存重量")
    private String stockWeightKg;

    /** 入库库位库位码 */
    @ApiModelProperty(value = "入库库位库位码")
    private String areaCode;

    /** 入库库位名称 */
    @ApiModelProperty(value = "入库库位名称")
    private String areaName;

    /** 盘点重量 */
    @ApiModelProperty(value = "盘点重量")
    private double weightKg;

    /** 盘点数量 */
    @ApiModelProperty(value = "盘点数量")
    private double quantity;

    /** 所属仓库ID（关联仓库表id） */
    @ApiModelProperty(value = "所属仓库ID关联仓库表id")
    private String warehouseCode;

    /** 仓库名字 */
    @ApiModelProperty(value = "仓库名字")
    private String warehouseName;

}
